﻿// -----------------------------------------------------------------------
// <copyright file="Validation.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace ManagerClinic.Ultilities.Ultility
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;
    using System.Text.RegularExpressions; 
    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public static class Validation
    {
        public static void ClearControl(Form frm)
        {
            foreach (Control c in frm.Controls)
            {
                if (c is DevExpress.XtraEditors.TextEdit)
                {
                    ((DevExpress.XtraEditors.TextEdit)c).Text = string.Empty;
                }
                if (c is DevExpress.XtraEditors.CheckEdit)
                {
                    ((DevExpress.XtraEditors.CheckEdit)c).Checked = false;
                }
                if (c is DevExpress.XtraEditors.MemoEdit)
                {
                    ((DevExpress.XtraEditors.MemoEdit)c).Text = string.Empty;
                }
            }
        }

        public static bool ValidSpaceTextBoxKey(DevExpress.XtraEditors.TextEdit txt, string nameField)
        {
            if (txt.Text.IndexOf(' ') > -1)
            {
                MessageBox.Show(string.Format("Trường {0} không thể có khoảng trắng bên trong.", nameField), "Thông báo", MessageBoxButtons.OK);
                txt.Focus();
                return false;
            }
            return true;
        }

        public static bool ValidPrimaryKey(DevExpress.XtraEditors.TextEdit txt, string nameField)
        {
            MessageBox.Show(string.Format("Bản ghi này đã tồn tại. Vui lòng điền {0} khác!", nameField), "Thống báo", MessageBoxButtons.OK);
            txt.Focus();
            return false;
        }

        public static bool ValidLookUpEdit(DevExpress.XtraEditors.LookUpEdit lk, string nameField)
        {
            if (lk.EditValue ==null || lk.EditValue.ToString() == "VM")
            {
                MessageBox.Show(string.Format("Bạn phải chọn trường {0} !", nameField));
                lk.Focus();
                return false;
            }
            return true;
        }
        public static bool ValidIsnumber(DevExpress.XtraEditors.TextEdit txt, string namefield)
        {
            if (txt.Text.Trim().Length > 0)
            { 
                double n=0;
                if (double.TryParse(txt.Text.Trim(),out n) == false)
                {
                    MessageBox.Show(string.Format("Định dạng trường {0} không đúng kiểu số!",namefield));
                    txt.Focus();
                    txt.SelectAll();
                    return false;
                }
            }
            return true;
        }
        public static bool ValidEmail(DevExpress.XtraEditors.TextEdit txt, string nameField)
        {
            //using System.Text.RegularExpressions; 
            if (txt.Text.Trim().Length > 0)
            {
                Regex re = new Regex(@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$",RegexOptions.IgnorePatternWhitespace );
                if (re.IsMatch(txt.Text) == false)
                {
                    MessageBox.Show(string.Format("Định dạng trường {0} không đúng!", nameField));
                    txt.Focus();
                    txt.SelectAll();
                    return false;
                }
            }
            return true;
        }
    }
}
